home *** CD-ROM | disk | FTP | other *** search
- '
- '
- ' CRACK ART 'CA_PACK'
- '
- ' Kompressionsroutine für CA?-Bilder
- '
- ' © Detlef Röttger & Jan Borchers 1989-91
- '
- '
- ' ## INLINE:
- ' $0000: 60 1a 00 00 01 fe 00 00 00 30 00 00 00 00 00 00
- ' $0010: 00 00 00 00 00 00 00 00 00 00 00 00 48 e7 7f fe
- ' $0020: 4c ef 03 00 00 3c 22 6f 00 40 24 49 30 3c 00 ff
- ' $0030: 42 5a 51 c8 ff fc 24 48 30 3c 7c ff 42 41 12 1a
- ' $0040: d2 41 52 71 10 00 51 c8 ff f4 24 49 45 ea 02 00
- ' $0050: 32 3c 7e f4 30 3c 00 fc 34 22 b4 41 6c 06 36 00
- ' $0060: 32 02 67 04 51 c8 ff f2 56 43 3e 03 24 49 32 3c
- ' $0070: ff ff 30 3c 00 ff 34 1a b4 41 6f 04 36 00 32 02
- ' $0080: 51 c8 ff f4 44 43 06 43 00 ff 3c 03 20 6f 00 3c
- ' $0090: 45 e8 7d 00 38 3c 7d 00 4d fa 01 80 2a 5e bb fc
- ' $00a0: 00 00 00 00 67 5c bb fc ff ff ff ff 67 6e 4c ef
- ' $00b0: 09 00 00 3c 22 48 16 c7 16 c6 36 cd 36 3c 00 04
- ' $00c0: 20 0d 53 40 4a 40 6b 1a 12 11 42 42 d3 cd b3 ca
- ' $00d0: 6d 08 52 88 22 48 53 40 6b 4c b2 11 66 48 52 42
- ' $00e0: 60 ea 52 43 b6 44 6c b4 16 c7 52 43 b6 44 6c ac
- ' $00f0: 16 fc 00 02 52 43 b6 44 6c a2 42 1b 38 03 2a 0d
- ' $0100: 60 9a b8 7c 7d 00 6c 14 38 3c 7d 00 4d fa 01 34
- ' $0110: 2c 85 2d 7c ff ff ff ff 00 04 60 80 70 00 30 04
- ' $0120: 4c df 7f fe 4e 75 4a 40 6a 04 b2 06 67 b4 b2 07
- ' $0130: 66 1c 52 43 b6 44 6c 00 ff 64 16 c7 52 43 b6 44
- ' $0140: 6c 00 ff 5a 16 c7 51 ca ff ea 60 00 ff 78 b4 7c
- ' $0150: 00 02 6e 12 52 43 b6 44 6c 00 ff 42 16 c1 51 ca
- ' $0160: ff f4 60 00 ff 60 b4 7c 00 ff 6e 30 52 43 b6 44
- ' $0170: 6c 00 ff 2a 16 c7 b4 07 66 0a 52 43 b6 44 6c 00
- ' $0180: ff 1c 42 1b 52 43 b6 44 6c 00 ff 12 16 c2 52 43
- ' $0190: b6 44 6c 00 ff 08 16 c1 60 00 ff 2a b2 06 67 42
- ' $01a0: 52 43 b6 44 6c 00 fe f6 16 c7 52 43 b6 44 6c 00
- ' $01b0: fe ec 16 fc 00 01 52 43 b6 44 6c 00 fe e0 38 42
- ' $01c0: e0 4a 16 c2 52 43 b6 44 6c 00 fe d2 34 0c c4 7c
- ' $01d0: 00 ff 16 c2 52 43 b6 44 6c 00 fe c2 16 c1 60 00
- ' $01e0: fe e4 52 43 b6 44 6c 00 fe b4 16 c7 52 43 b6 44
- ' $01f0: 6c 00 fe aa 16 fc 00 02 52 43 b6 44 6c 00 fe 9e
- ' $0200: 38 42 e0 4a 16 c2 52 43 b6 44 6c 00 fe 90 34 0c
- ' $0210: c4 7c 00 ff 16 c2 60 00 fe ac 00 00 00 a0 00 00
- ' $0220: 00 08 00 00 00 50 00 00 00 01 00 00 00 02 00 00
- ' $0230: 00 04 00 00 01 40 00 00 02 80 00 00 01 e0 00 00
- ' $0240: 00 00 00 00 00 a0 ff ff ff ff 00 00 00 00
- ' 590 Bytes.
- INLINE ca_pack%,590
- '
- resolution&=XBIOS(4) ! Auflösung holen
- IF resolution&>2 ! keine ST-Auflösung
- END
- ENDIF
- '
- DO
- fpath$=CHR$(GEMDOS(25)+65)+":"+DIR$(0)+"\*.CA"+CHR$(resolution&+49)
- FILESELECT #"SAVE CA",fpath$,"",fname$ ! File auswählen
- CLS
- IF fname$="" ! Abbruch
- END
- ENDIF
- '
- FOR i&=1 TO 50
- DEFFILL RANDOM(16),1,0
- PCIRCLE RANDOM(WORK_OUT(0)),RANDOM(WORK_OUT(1)),RANDOM(50)
- NEXT i&
- '
- buffer$=STRING$(32000,0) ! Buffer reservieren
- HIDEM
- len%=C:ca_pack%(L:XBIOS(2),L:V:buffer$) ! Image packen
- SHOWM
- '
- PRINT AT(1,1);"Bild von 32000 Bytes auf ";len%;" Bytes (";
- PRINT INT(100*len%/32000);"%) gepackt."
- '
- OPEN "O",#1,fname$ ! File öffnen
- '
- SELECT resolution&
- '
- CASE 0 ! Low Res
- header$=STRING$(4+32,0)
- DPOKE V:header$,&H4341 ! 'CA'-Kennung
- DPOKE V:header$+2,&H100 ! Low Res gepackt
- FOR i&=0 TO 15 ! 16 Farben
- DPOKE V:header$+4+i&*2,XBIOS(7,W:i&,W:-1) AND &H777
- NEXT i&
- BPUT #1,V:header$,4+32
- '
- CASE 1 ! Med Res
- header$=STRING$(4+8,0)
- DPOKE V:header$,&H4341 ! 'CA'-Kennung
- DPOKE V:header$+2,&H101 ! Med Res gepackt
- FOR i&=0 TO 3 ! 4 Farben
- DPOKE V:header$+4+i&*2,XBIOS(7,W:i&,W:-1) AND &H777
- NEXT i&
- BPUT #1,V:header$,4+8
- '
- CASE 2 ! High Res
- header$=STRING$(4,0)
- DPOKE V:header$,&H4341 ! 'CA'-Kennung
- DPOKE V:header$+2,&H102 ! High Res gepackt
- BPUT #1,V:header$,4
- '
- ENDSELECT
- '
- BPUT #1,V:buffer$,len%
- CLOSE #1
- '
- WHILE MOUSEK
- WEND
- REPEAT
- UNTIL MOUSEK
- LOOP
-